Modifier keys was initialized as a JS Map, but then we used it using the
Object API, attaching data to a map rather than using the actual Map
features
Fixes: 2920738d ("keyboard: Add/handle "modifier" action keys")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4396>
(cherry picked from commit
d84ea6c3b45adcea8649a67a946292ea857d807a)
}
if (key.action === 'modifier') {
- const modifierKeys = this._modifierKeys[key.keyval] || [];
+ const modifierKeys = this._modifierKeys.get(key.keyval) ?? [];
modifierKeys.push(button);
- this._modifierKeys[key.keyval] = modifierKeys;
+ this._modifierKeys.set(key.keyval, modifierKeys);
}
if (key.action || key.keyval)
else
this._modifiers.delete(keyval);
- for (const key of this._modifierKeys[keyval])
+ for (const key of this._modifierKeys.get(keyval))
key.setLatched(enabled);
}